import Vue from 'vue'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import Router from 'vue-router'

Vue.use(Router)
Vue.use(ElementUI)

const Enter = () => import('@component/enter')

const dashboard = () => import('@component/dashboard') // 首页 仪表盘
/* 组织管理 */
const township = () => import('@component/organManage/township')           // 乡镇管理
const villageManage = () => import('@component/organManage/villageManage') // 村管理
const personManage = () => import('@component/organManage/personManage')   // 人员管理
const jobPerson = () => import('@component/organManage/jobPerson')         // 职务人员管理
    /* 组织管理-机关党建 */
const partyManage = () => import('@component/organManage/partyBuilding/partyManage.vue') // 机关管理
const ContentManage = () => import('@component/organManage/partyBuilding/ContentManage.vue') // 内容管理
const partyPManage = () => import('@component/organManage/partyBuilding/personManage') // 人员管理
    /* 组织管理-两新党建 */
const busiManage = () => import('@component/organManage/twoNewParty/busiManage') // 企业管理
const twoConManage = () => import('@component/organManage/twoNewParty/twoConManage') // 内容管理
const twoPManage = () => import('@component/organManage/twoNewParty/personManage') // 人员管理

/* 全程纪实管理 */
const wholeCourseCheck = () =>
  import('@component/wholeCourseManage/wholeCourseCheck') // 全程纪实查看
const participatorManagement = () =>
  import('@component/wholeCourseManage/participatorManagement.vue') // 参与人员管理

/*全程纪实统计*/
const townshipAndStreetStatistics = () =>
  import('@component/wholeCount/townshipAndStreetStatistics') // 乡镇与街道统计
const organMeetingStatistics = () =>
  import('@component/wholeCount/organMeetingStatistics') // 机关会议统计
const twoNewMeetingStatics = () =>
  import('@component/wholeCount/twoNewMeetingStatics') // 两新会议统计

/*内容类型管理*/
const partyConType = () => import('@component/conTypeMange/partyConType') // 机关内容类型管理
const twoConType = () => import('@component/conTypeMange/twoConType') // 两新内容类型管理

/*视频会议管理*/
const inMeeting = () => import('@component/videConferencing/inMeeting')  // 会议中会议管理
const historyMeeting = () => import('@component/videConferencing/historyMeeting')  // 历史会议管理
const fixedMeetingRoomMmanagement = () =>
  import('@component/videConferencing/fixedMeetingRoomMmanagement') // 固定会议管理
const meetingRoomList = () => import('@component/videConferencing/meetingRoomList')     // 会议室列表
const meetingManage = () => import('@component/videConferencing/meetingManage')     // 会议管理

/* 城市与农村党建 */
const townshipDataManagemen = () =>
  import('@component/cityCountryside/townshipDataManagemen') // 乡镇资料管理
const villageData = () => import('@component/cityCountryside/villageData')  // 村资料管理

/*便民服务管理*/
const benefitPolicy = () => import('@component/convenientService/benefitPolicy') // 惠农政策管理
const conveniencePhone = () => import('@component/convenientService/conveniencePhone') // 惠农政策管理
const recruitInfo = () => import('@component/convenientService/recruitInfo')     // 招聘信息


/* 视频点播管理 */
const videoOnDemand = () =>
import('@component/videoOnDemand/index') // 视频点播管理



/* 电视节目管理 */
const TVprogram = () =>
import('@component/TVprogram/index') // 电视节目管理

/*智慧党建O2O*/
const wisParBuild = () => import('@component/wisParBuilding/wisParBuild')     // 智慧党建O2O

/*首页视频管理*/
const homeVidManage = () => import('@component/homeVideo/homeVidManage')     // 首页视频管理

/* 信息与通知 */
const InformNotify = () =>
import('@component/InformNotify/index') // 信息与通知

/* 平台设备管理 */
const frontManage = () =>
import('@component/platformDevice/frontManage') // 前端设备管理
const watchdog = () => import('@component/platformDevice/watchdog')     // 全程纪实监控设备

let baseRouter = [
  {
    path: '/',
    name: 'dashboard',
    component: dashboard
  },
  {
    path: '/enter',
    name: 'enter',
    component: Enter,
    redirect: '/organManage/township',
    children: [

      {
        path: '/organManage/township',
        name: 'township',
        component: township
      },
      {
        path: '/organManage/villageManage',
        name: 'villageManage',
        component: villageManage
      },
      {
        path: '/organManage/personManage',
        name: 'personManagee',
        component: personManage
      },
      {
        path: '/organManage/jobPerson',
        name: 'jobPerson',
        component: jobPerson
      },
      {
        path: '/organManage/partyBuild/partyManage',
        name: 'partyManage',
        component: partyManage
      },
      {
        path: '/organManage/partyBuild/ContentManage',
        name: 'ContentManage',
        component: ContentManage
      },
      {
        path: '/organManage/partyBuild/partyPManage',
        name: 'partyPManage',
        component: partyPManage
      },
      {
        path: '/organManage/twoNewParty/busiManage',
        name: 'busiManage',
        component: busiManage
      },
      {
        path: '/organManage/twoNewParty/twoConManage',
        name: 'twoConManage',
        component: twoConManage
      },
      {
        path: '/organManage/twoNewParty/twoPManage',
        name: 'twoPManage',
        component: twoPManage
      },
      {
        path: '/wholeManage/wholeCourseCheck',
        name: 'wholeCourseCheck',
        component: wholeCourseCheck
      },
      {
        path: '/wholeManage/participatorManagement',
        name: 'participatorManagement',
        component: participatorManagement
      },
      {
        path: '/wholeCount/townshipAndStreetStatistics',
        name: 'townshipAndStreetStatistics',
        component: townshipAndStreetStatistics
      },
      {
        path: '/wholeCount/organMeetingStatistics',
        name: 'organMeetingStatistics',
        component: organMeetingStatistics
      },
      {
        path: '/wholeCount/twoNewMeetingStatics',
        name: 'twoNewMeetingStatics',
        component: twoNewMeetingStatics
      },
      {
        path: '/conTypeMange/partyConType',
        name: 'partyConType',
        component: partyConType
      },
      {
        path: '/conTypeMange/twoConType',
        name: 'twoConType',
        component: twoConType
      },
      {
        path: '/videConfer/inMeeting',
        name: 'inMeeting',
        component: inMeeting
      },
      {
        path: '/videConfer/fixedMeetingRoomMmanagement',
        name: 'fixedMeetingRoomMmanagement',
        component: fixedMeetingRoomMmanagement
      },
      {
        path: '/videConfer/historyMeeting',
        name: 'historyMeeting',
        component: historyMeeting
      },
      {
        path: '/videConfer/meetingRoomList',
        name: 'meetingRoomList',
        component: meetingRoomList
      },
      {
        path: '/videConfer/meetingManage',
        name: 'meetingManage',
        component: meetingManage
      },
      {
        path: '/cityCountry/townshipDataManagemen',
        name: 'townshipDataManagemen',
        component: townshipDataManagemen
      },
      {
        path: '/cityCountry/villageData',
        name: 'villageData',
        component: villageData
      },
      {
        path: '/memberServer/benefitPolicy',
        name: 'benefitPolicy',
        component: benefitPolicy
      },
      {
        path: '/memberServer/conveniencePhone',
        name: 'conveniencePhone',
        component: conveniencePhone
      },
      {
        path: '/memberServer/recruitInfo',
        name: 'recruitInfo',
        component: recruitInfo
      },
      {
        path: '/wisParBuild',
        name: 'wisParBuild',
        component: wisParBuild
      },
      {
        path: '/homeVidManage',
        name: 'homeVidManage',
        component: homeVidManage
      },
      {
        path: '/videoOnDemand',
        name: 'videoOnDemand',
        component: videoOnDemand
      },
      {
        path: '/TVprogram',
        name: 'TVprogram',
        component: TVprogram
      },
      {
        path: '/InformNotify',
        name: 'InformNotify',
        component: InformNotify
      },
      {
        path: '/platformDevice/frontManage',
        name: 'frontManage',
        component: frontManage
      },
      {
        path: '/platformDevice/watchdog',
        name: 'watchdog',
        component: watchdog
      },
    ]
  },
]

export default new Router({
  routes: baseRouter
})
